您的位置:首页 > 其它

Git Learner Record

2015-10-01 21:07 281 查看

目录

目录
What is a git

Preparation
History

Install

configuration

Begin
init the git

stream

File Operations
Add git status to check

Removegit status to check

Renamegit status to check

Rollback
git diff to check to change

Warning git reset

gitignore

gitkeep

Other options

Branch
branch is needed cheap try

operations

Merge

stash

Remote link to the github or others
Set up a github account

password caching

What is a git

git 帮助我们进行代码的版本控制,我于2015/10/1花费一天时间学习一个关于git的视频,然后再参考几篇博客,将git的使用方法全部弄清楚。let's begin!


Preparation

History

SCCS Source Code Control System

1972, closed source, free with Unix

RCS Revision Control System

1982, open source.

CVS Concurrent Versions System

1986 - 1990, open source

SVN

2000, open source

BitKeeper SCM

distributed version

GIT

github come out

Install

参考官网的安装方法 —— [git web]

download the tar.gz or some package[your linux]

tar zxvf *.tar.gz

/configure

make && make install

finish.

or you can try:

apt-get install git

yum install -y git

pacman -S git

configuration

git config –global user.name [your name]

git config –global user.email [your email]

git config –global core.editor “vim”

git config –global color.ui true

use bash config

wget https://github.com/git/git/raw/master/contrib/completion/git-completion.bash

ls

mv git-completion.bash ~/.git-completion.bash

add to .bashrc that if exist this bash, source it.

help

Begin

init the git

mkdir dir1

cd dir1

git init

add one file (make change)

git add . (add change)

git commit -m “some word” (commit change)

git log -n/ –since/ –until/ –grep

stream

working -add file- staging index -commit- repositiry

File Operations

Add (git status to check)

git add .

git commit -m “”

git diff

git commit -ma “”

Remove(git status to check)

git rm filename

git commit -m “”

Rename(git status to check)

git add file

git rm file

git commit -m “”

or you can use git mv file1 file2

Rollback

git diff to check to change

git checkout – file(before add)

it can return the status of the workspace.

git reset HEAD file (after add)

unstage the file -> before add

git checkout – file

git (after commit)

find the Hash value of commit

git comment –amend append to the same commit

git diff –staged

return the commit status

git checkout [commit hash] – file

Warning [git reset]

–soft not change staging index & workspace

–mixed(default) change staging & not workspace

–hard change staging & change workspace

usage : git reset –soft [commit hash]

git reset HEAD file

-n try to do -f force to do

.gitignore

it can help us to ignore some file or dir

reference :

1. help.github.com/articles/ignoring-files

2. github.com/github/gitignore

git config –global core.excludesfile pathtofile

* git rm –cached file

.gitkeep

git log –oneline/ –graph/ –all/ –decorate

Other options

git show [hash]

git diff [hash] & git diff [hash1]..[hash2]

Branch

branch is needed, cheap, try

try new ideas

isolate the workspace

fast context switching

operations

git branch

create -> git branch new_branch_name

switch -> git checkout branch_name

git checkout -b new_branch_name

git diff [branch1]..[branch2] (use –color-words)

git branch –merged

git branch -m old_name new_name (–move)

git barnch -d(–delete) name (-D to delete a non-empty branch)

prompt

export PS1=’$(__git_ps1 “(%s)”) > ‘

export PS1=’\W$(__git_ps1 “(%s)”) > ‘

export PS1=$PS1’$(__git_ps1 “(%s)”) > ’ (it’s cool !)

Attantion: barnch is a stack mode, current branch can’t be delete

Merge

git merge exist_branch

git branch –merged

conflict

change by yourselt

git log –graph –oneline –all –decorate

git mergetool –tool=

Attention:

* keep lines short

* commits small focused

* merge often

stash

git stash save “changed mission …”

git stash list

git stash show stash@{0} (you may use -p option)

git stash apply

git stash pop

git stash drop stash@{0}

Remote (link to the github or others)



Easily, this can be changed to



Set up a github account

you set up a account

Create a repository

look at the code following

echo #  >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/[User account]/[project name].git
git push -u origin master


you can easy use

git remote rm origin

git branch -a/-r

git push -f

git fetch

fetch before work

fetch before push

fetch often

git pull = git fetch + git merge

git push origin :your branch

git push origin [–delete] branch

[远程
4000
分支的使用]

git checkout -b [new_branch]

(make some change)

git commit -am “word”

git push [远程仓库名] [远程分支名(new_branch)]

password caching

Password Caching

or save the ssh key.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: