~/
~/start_trojan
history
:q
ls -altrh
cd ..
ls -altrh
clear
cd name_test_config
ls
cd ..
mv name_test_config/ my_test
ls
ls -altrh
cd my_test/
ls
touch READNE
git status ==>(README red)
git add README
git status==>(new file:README green)
touch useless_file
git stats==>(usless file red)
touch history
git status
git add history
git status
git commit -m 'inintial commit'
git status
git log
git rm status
git status
:w
获取最新代码 git pull
sudo vim
:w name
:q
sudo gedit
sudo nano
ctrl+x
提交代码 git add/commit/push
查看历史 git log/show
做代码比较 git diff
git --version ==>get version 2.7.4
cat ~/git ==>.gitbook/ .gitconfig
cat ~/gitconfig==>[user]name/email[core]
vim ~/gitconfig
cat ~/config==>bianji xinname email core
mkdir_test_git==>chuangjainmulu
cd test_git
ls
ls -altrh
mikdir name
cd le^c
mv name_test_config
cd name_test_config
ls
git init .
ls -altrh
vim .git./
git commit ^c
vim .git
git config user.name=name
vim ~/.bashrc
git 的典型工作过程是;
- 程序员A修改了代码。(通过git status/diff查看修改的情况)
- 程序员A把修改后的文件,(通过git add/rm)放到了git的"待提交代码列表"中。
- 程序员A把“待提交的代码”提交(通过git commit)
- 程序员A把“本地的commit“ 同步到远程的git服务器上(通过git push)
- 程序员B 把程序员A的代码(通过git pull/merge)同步到本地
-
working directory: 当前的代码目录
-
branch: 代码的分支。 在本地可以有,在远程也可以有。
-
commit: 每次的代码的提交。每个commit 都对应一个40位的字符串,例如
e4b924e3e0c03a6d71effc3bc3075c2596c14cf3
-
提交时需要:(代码review的小要求)
- 有正确的 用户名和电子邮件.
- comments 中就不要有"由XX操作"了。重复。
- 这样会在当前repository目录下的. git /config中写入配置信息
-
成本地修改的所有patch(多少次提交就多少个.path文件):
$ git format-patch origin
生成单个patch文件(例子中是将最近5次提交的内容合并到一个文件中):
$ git format-patch -5 --stdout > patch_by_siwei.txt
往远程服务器上提交分支:
$ git push origin [本地分支名]:[远程分知名(push之后就存在了)]
git push origin my_local_branch:lily
apply patch
$ git pull . master (把远程的master更新到当前的本地分支)
git patch/apply 某一个commit
$ git -config user.name "Jike Song"
$ git -config user.email [email]albcamus@gmail.com[/emai
$ git pull . master (把远程的master更新到当前的本地分支)